Object-Oriented Reverse Engineering

نویسنده

  • Michele Lanza
چکیده

The maintenance, reengineering, and evolution of object-oriented software systems has become a vital matter in today’s software industry. Although most systems start off in a clean and well-designed state, with time they tend to gradually decay in quality, unless the systems are reengineered and adapted to the evolving requirements. However, before such legacy software systems can be reengineered and evolved, they must be reverse engineered, i.e., their structure and inner working must be understood. This is difficult because of several factors, such as the sheer size of the systems, their complexity, their domain specificity, and in general the bad state legacy software systems are in. In this thesis we propose a visual approach to the reverse engineering of object-oriented software systems by means of polymetric views, lightweight visualizations of software enriched with metrics and other types of semantic information about the software, e.g., its age, version, abstractness, location, structure, function, etc. We present and discuss several polymetric views which allow us to understand three different aspects of object-oriented software, namely 1. coarse-grained aspects which allow for the understanding of very large systems, 2. fine-grained aspects which allow for the understanding of classes and class hierarchies, 3. and evolutionary aspects, which enable us to recover and understand the evolution of a software system. The combination of these three types of information can greatly reduce the time needed to gain an understanding of an object-oriented software system. Based on the application of our polymetric views, we present our reverse engineering methodology which we validated and refined on several occasions in industrial settings. It allows us to explore and combine these three approaches into one single visual approach to understand software.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Pattern Language for Reverse Engineering Alpha-release of a Part of Forthcoming Book "object-oriented Reengineering, a Pattern-based Approach"

Since object-oriented programming is usually associated with iterative development, reverse engineering must be considered an essential facet of the object-oriented paradigm. The reverse engineering pattern language presented here summarises the reverse engineering experience gathered as part of the FAMOOS project, a project with the explicit goal of investigating reverse and reengineering tech...

متن کامل

Balancing in reverse engineering and in object-oriented systems engineering to improve reusability and maintainability

Whenever a reverse engineering method is applied to an old software system, the results are mainly limited to its degree of automation. Additional domain knowledge via a human expert helps to overcome this limitation. Modernizing old procedural software for object-oriented reuse requires domain knowledge as well as a balancing of the recovered information. We have developed a reverse engineerin...

متن کامل

A Pattern Language for Reverse Engineering

Abstract. This pattern language describes how to reverse engineer an object-oriented software system. Since the only way to achieve a truly reusable object-oriented design is recognised to be iterative development, reverse engineering is indeed an essential facet of any object-oriented development process. The pattern language itself covers the different phases one encounters when reverse engin...

متن کامل

Reverse Engineering Relational Schemas to Object-Oriented Schemas

Due to the wide use of object-oriented technology in software development, reverse engineering of relational schemas to object-oriented schemas is gaining a lot of interest. One of the major problems with existing approaches for this schema mapping is the extensive amount of information that must be gathered either automatically or from the user. This paper presents an object-centered approach ...

متن کامل

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

A Form Driven Object-Oriented Reverse Engineering Methodology

This thesis presents an object-oriented reverse engineering methodology using forms in order to recover semantics of legacy application, which has many problems such as increasing maintenance cost, and some difficulties in migration to new systems environment. But, most of legacy systems are important assets in organization. Therefore, it is very advantageous to use them continuously and they a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003